types of substitution techniques